load("@fbsource//tools/build_defs:rust_library.bzl", "rust_library")

oncall("build_infra")

rust_library(
    name = "dice",
    srcs = glob(
        ["src/**/*.rs"],
    ),
    crate_root = "src/lib.rs",
    test_deps = [
        "fbsource//third-party/rust:assert_matches",
        "fbsource//third-party/rust:bincode",
        "fbsource//third-party/rust:derivative",
        "fbsource//third-party/rust:indoc",
        "fbsource//third-party/rust:tempfile",
    ],
    deps = [
        "fbsource//third-party/rust:anyhow",
        "fbsource//third-party/rust:anymap3",
        "fbsource//third-party/rust:async-trait",
        "fbsource//third-party/rust:dashmap",
        "fbsource//third-party/rust:derivative",
        "fbsource//third-party/rust:derive_more",
        "fbsource//third-party/rust:futures",
        "fbsource//third-party/rust:fxhash",
        "fbsource//third-party/rust:itertools",
        "fbsource//third-party/rust:parking_lot",
        "fbsource//third-party/rust:ref-cast",
        "fbsource//third-party/rust:scopeguard",
        "fbsource//third-party/rust:serde",
        "fbsource//third-party/rust:slab",
        "fbsource//third-party/rust:static_assertions",
        "fbsource//third-party/rust:take_mut",
        "fbsource//third-party/rust:thiserror",
        "fbsource//third-party/rust:tokio",
        "fbsource//third-party/rust:tracing",
        "fbsource//third-party/rust:triomphe",
        "fbsource//third-party/rust:typed-arena",
        "//buck2/allocative/allocative:allocative",
        "//buck2/dice/dice_error:dice_error",
        "//buck2/dice/dice_futures:dice_futures",
        "//buck2/gazebo/cmp_any:cmp_any",
        "//buck2/gazebo/dupe:dupe",
        "//buck2/gazebo/gazebo:gazebo",
        "//buck2/shed/lock_free_hashtable:lock_free_hashtable",
        "//buck2/shed/lock_free_vec:lock_free_vec",
        "//common/rust/shed/sorted_vector_map:sorted_vector_map",
    ],
)
